package com.tengju.user.infrastructure.persistence.mybatis.mapper.data;

import com.tengju.user.infrastructure.persistence.mybatis.dataobject.CrmDealerDO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface CrmDealerDOCustomMapper {

    List<CrmDealerDO> selectCrmDealer(@Param("idCode") Long idCode,
                                      @Param("level") Integer level,
                                      @Param("startTime") String startTime,
                                      @Param("endTime") String endTime,
                                      @Param("areaSupIdCode") Long areaSupIdCode,
                                      @Param("genSecIdCodeValList") List<Long> genSecIdCodeValList,
                                      @Param("inviteCode") Long inviteCode,
                                      @Param("goodNumber") String goodNumber,
                                      @Param("weChat") String weChat,
                                      @Param("mobile") String mobile,
                                      @Param("mobileIdCode") Long mobileIdCode,
                                      @Param("offset") int offset,
                                      @Param("limit") int limit);

    int getCrmDealerCount(@Param("idCode") Long idCode,
                          @Param("level") Integer level,
                          @Param("startTime") String startTime,
                          @Param("endTime") String endTime,
                          @Param("areaSupIdCode") Long areaSupIdCode,
                          @Param("genSecIdCodeValList") List<Long> genSecIdCodeValList,
                          @Param("inviteCode") Long inviteCode,
                          @Param("goodNumber") String goodNumber,
                          @Param("weChat") String weChat,
                          @Param("mobile") String mobile,
                          @Param("mobileIdCode") Long mobileIdCode);

    CrmDealerDO getCrmDealerSupInfo(@Param("idCode") Long idCode);

    List<CrmDealerDO> getAll();

    List<CrmDealerDO> getCrmDealerNameInfo();

    List<CrmDealerDO> listCrmDealerInfo(@Param("idCodeVals") List<Long> idCodeVals);

}